package com.takeaway.service.serviceinterface;

import com.takeaway.pojo.User;

import java.util.List;

/**
 * @author 后台赖骏
 */
public interface UserService {
    /**
     * 实现登录功能的服务
     * @param username 传入用户输入的用户名
     * @param pwd 传入用户输入的密码
     * @return 返回所修改的次数
     * @throws Exception 如果出现了异常，则可以进行回滚
     */
    User loginService(String username, String pwd)throws Exception;

    /**实现充值的服务功能
     * @param money 充值的金额
     * @param user 所充值的用户
     * @return 返回修改是否成功
     * @throws Exception 如果出现了异常，则可以进行回滚
     */
    int recharge(double money,User user)throws Exception;

    /**返回对象信息
     * @param id 查询的用户id
     * @return 返回用户对象
     * @throws Exception 抛出异常
     */
    User checkUser(int id)throws Exception;

    /**ban掉用户的权限
     * @param userid 查询的用户id
     * @return ban掉的条数
     * @throws Exception 抛出异常
     */
    int banUser(int userid)throws Exception;
    /**恢复掉用户的权限
     * @param userid 查询的用户id
     * @return 恢复权限的条数
     * @throws Exception 抛出异常
     */
    int recoverUser(int userid)throws Exception;

    /**查询所有的user信息
     * @return 返回所有的用户信息
     * @throws Exception 抛出异常
     */
        List<User> checkAllUser()throws Exception;

    /**添加收藏
     * @param shopId 商店的id
     * @param userId 用户的id
     * @return 返回添加成功的条数
     * @throws Exception 抛出异常
     */
int addCollect(int shopId,int userId) throws Exception;

    /**删除收藏的店铺
     * @param shopId 商店的id
     * @return 返回删除成功的条数
     * @throws Exception 抛出异常
     */
    int deleteCollect(int shopId) throws Exception;

    /**禁止用户上线
     * @param userid 查询的用户id
     * @return 封禁成功的条数
     * @throws Exception 抛出异常
     */
    int banUserLogin(int userid)throws Exception;

    /**允许用户上线
     * @param userid 查询的用户id
     * @return 恢复成功的条数
     * @throws Exception 抛出异常
     */
    int giveUserLogin(int userid) throws Exception;

    /**添加
     * @param username 用户名
     * @param pwd 密码
     * @param rightId 注册的身份
     * @return 返回修改成功条数
     * @throws Exception 抛出异常
     */

    int addUser(String username,String pwd,int rightId)throws Exception;


    /** 通过用户名查询user
     * @param username 用户名
     * @return 返回查询的user
     * @throws Exception 抛出异常
     */
     User checkUser(String username) throws Exception;
    /** 通过用户名查询user
     * @param id 用户的id
     * @param fileName 要修改的文件名称
     * @return 返回修改成功的条数
     * @throws Exception 抛出异常
     */
     User updateUserImg(int id, String fileName) throws Exception;

}
